package com.designpattern.singleton;

/**
 * @author liyanhao
 * @Date 2023-02-06 20:20
 * 饿汉式 静态常量
 *
 * 类装载的时候就完成实例化 避免线程同步问题
 * 没有lazy loading效果 如果从事自终没有用过会造成资源的浪费
 */
public class SingletonTest01 {
    public static void main(String[] args) {
        //测试
        Singleton instance = Singleton.getInstance();
        Singleton instance1 = Singleton.getInstance();
        System.out.println(instance1 == instance);
    }
}
class Singleton{
    //1.私有化构造器
    private Singleton() {
    }

    //2.类内部创建对象实例
    private final static Singleton instance = new Singleton();

    //3.提供一个共有的静态方法 返回实例对象
    public static Singleton getInstance() {
        return instance;
    }
}
